package ar.edu.utn.frgp.mvc.servlets;

import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import ar.edu.utn.frgp.banco.business.Implements.ImpPlazosFijosBusiness;
import ar.edu.utn.frgp.banco.domain.PlazoFijo;
import ar.edu.utn.frgp.beans.MessageBean;

/**
 * Servlet implementation class PlazosFijosServlet
 */
public class PlazosFijosServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

	/**
	 * @see HttpServlet#HttpServlet()
	 */
	public PlazosFijosServlet() {
		super();
		// TODO Auto-generated constructor stub
	}

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
	 *      response)
	 */
	protected void doGet(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		doPost(request, response);
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
	 *      response)
	 */
	protected void doPost(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		MessageBean ban = new MessageBean();
		MessageBean fecha = new MessageBean();
		if (request.getParameter("estado").equals("vacio")) {

			// cargo la fecha de hoy en el jsp
			SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
			Calendar cal = Calendar.getInstance();
			Date fecha_hoy = cal.getTime();
			fecha.setMensaje(formatter.format(fecha_hoy));
			request.setAttribute("fecha", fecha);

			ban.setMensaje("1");
			request.setAttribute("ban", ban);
			request.getRequestDispatcher("Plazos_Fijos.jsp").forward(request,
					response);
		} else if (request.getParameter("estado").equals("cargado")) {
			ImpPlazosFijosBusiness plazofijobusiness = new ImpPlazosFijosBusiness();
			Integer flagOK = 0;

			try {
				Integer id_cliente = Integer.parseInt(request.getSession()
						.getAttribute("ID_Cliente").toString());
				Integer id_cuenta_origen = 0;
				if (request.getSession().getAttribute("ID_Cuenta").equals("0")) {
					id_cuenta_origen = 0;
				} else {
					id_cuenta_origen = Integer.parseInt(request.getSession()
							.getAttribute("ID_Cuenta").toString());
				}
				Integer id_cuenta_destino = 0;
				if (request.getParameter("nroCuenta_Destino").equals("")) {
					id_cuenta_destino = 0;
				} else {
					id_cuenta_destino = Integer.parseInt(request.getParameter(
							"nroCuenta_Destino").toString());
				}
				double monto = Double.parseDouble(request.getParameter("monto")
						.toString());

				Integer Dias = Integer.parseInt(request.getParameter(
						"dias").toString());
				plazofijobusiness.CrearPLazoFijo(id_cliente, id_cuenta_origen,
						id_cuenta_destino, monto, Dias);

			} catch (Exception e) {
				MessageBean aux = new MessageBean();
				aux.setMensaje(e.getMessage());
				request.setAttribute("error", aux);
				flagOK = 1;
			}
			if (flagOK == 1) {
				request.getRequestDispatcher("Plazos_Fijos.jsp").forward(
						request, response);

			} else {
				request.getRequestDispatcher("../../Blanco.jsp").forward(
						request, response);
			}
		}
	}

}
